<p><img
src="https://www.instantdb.com/img/emails/apr2025/s_DF8F10A9009F2A236BC7D07C4EC05DDA50E4FB82F40AA98593D3B98A1A7EA3DC_1730238267270_instant_header.png" /></p>
<p>Hey crew! It’s time for another edition of Instant News 🙂 Here’s a
slice of what happened last month!</p>
<p><strong>Required Attributes</strong></p>
<p><img
src="https://www.instantdb.com/img/emails/apr2025/s_A8BCE826E2D24A59DDDF978FF919F212AA1BA53C7F2773B4B244E2F70CDD846A_1746560354137_image.png" /></p>
<p>You can now enforce required attributes on the backend with Instant!
Previously the only way to do this was to write a permission rule like
<code>"data.title != null"</code></p>
<p>You can set <code>required</code> and <code>optional</code> fields in
both the CLI and the Dashboard. With this feature released you now have
end-to-end type safety on your schema Click <a
href="https://www.instantdb.com/docs/modeling-data#required-constraints">here
to learn more</a> 💥</p>
<p><strong>Required Links</strong></p>
<p>In addition to required attributes, you can now set required links!
Suppose you want to make sure sure a post has an owner. Well now you can
do so via the CLI and the Dashboard.</p>
<p><img
src="https://www.instantdb.com/img/emails/apr2025/s_D5033FA557FFFE14A26ED3674BAE74F345ABE2D9051159D5B3634332C24375B3_1746466781941_CleanShot+2025-05-05+at+10.39.092x.png" /></p>
<p>In case you’re wondering we’ve built this in a backwards-compatible
way. Your apps should continue as working, and the next time you try to
push a schema change the backend will try to enforce your required
constraints. And if needed, we also added a handy
<code>clientRequired</code> annotation to make upgrading to required
attributes and links easier. More details in the docs :)</p>
<p><strong>Better Google-Sign on React Native</strong></p>
<p><img
src="https://www.instantdb.com/img/emails/apr2025/s_A8BCE826E2D24A59DDDF978FF919F212AA1BA53C7F2773B4B244E2F70CDD846A_1746564212953_better-oauth.png" /></p>
<p>Previously we only supported native flows on React Native for Apple
OAuth. Now Instant supports native flows on React Native for Google
OAuth too! You can still use web flows with Google OAuth if you like,
but if you want to give your users a more native feel <a
href="https://www.instantdb.com/docs/auth/google-oauth?method=rn-native">check
out the docs</a>!</p>
<p><strong>Better Errors!</strong></p>
<p><img
src="https://www.instantdb.com/img/emails/apr2025/s_A8BCE826E2D24A59DDDF978FF919F212AA1BA53C7F2773B4B244E2F70CDD846A_1746560157623_image.png" /></p>
<p>With all the new features it can be confusing at times why queries,
transactions, or permissions may fail. We’ve hand-crafted some better
messages to make it more delightful to work with Instant :)</p>
<p><strong>And a few more things!</strong></p>
<p>Here’s a few more wins that got shipped thanks to your feedback!</p>
<ul>
<li>App dropdown button in the dashboard is now searchable. Really
useful for filtering if you have a bunch of apps!</li>
<li>Sandbox now saves settings on a per app basis! This way you don’t
lose your work when you switch between apps :)</li>
<li>Autocomplete <code>auth.email</code> in the sandbox. This should
make it much nicer to test permissions!</li>
<li>Better number inputs in the explorer to make it easier to clear and
set values.</li>
</ul>
<p><strong>What’s next?</strong></p>
<p>We’ve got some infra upgrades on the way we should lead to some huge
query performance wins! We’re also going to focus on more better errors
and dev-ex wins. The goal is to squash papercuts and make Instant even
more delightful :)</p>
